package com.jt.www.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 线下录单列表
 * Created by shaoyn on 2020/05/22.
 */
public class OfflineOrderVo {

    @ApiModelProperty(value = "线下定单id")
    private Long orderId;

    @ApiModelProperty(value = "线下业务类别 00:统保示范项目  01:教育区域统保业务  02:教育延伸业务  03:教育衍生业务  04:其他教育保险业务")
    private String offlineType;

    @ApiModelProperty(value = "业务归属-分公司编码")
    private String branchCode;

    @ApiModelProperty(value = "业务归属-分公司名称")
    private String branchName;

    @ApiModelProperty(value = "出单公司名称")
    private String insCompanyName;

    @ApiModelProperty(value = "产品编号")
    private String productCode;

    @ApiModelProperty(value = "产品名称")
    private String productName;

    @ApiModelProperty(value = "保单号")
    private String policyNo;

    @ApiModelProperty(value = "投保单号")
    private String appCode;

    @ApiModelProperty(value = "客户名称")
    private String customerName;

    @ApiModelProperty(value = "投保人编码")
    private String holderCode;

    @ApiModelProperty(value = "投保人名称")
    private String holderName;

    @ApiModelProperty(value = "被保人名称")
    private String insuredName;

    @ApiModelProperty(value = "被保人员清单")
    private String detailFileId;

    @ApiModelProperty(value = "保险起期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startDate;

    @ApiModelProperty(value = "保险止期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endDate;

    @ApiModelProperty(value = "录单日期(出单)")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date insureDate;

    @ApiModelProperty(value = "保单保费")
    private BigDecimal premium;

    @ApiModelProperty(value = "推送状态")
    private String pushStatus;

    @ApiModelProperty(value = "失败原因")
    private String errorMsg;

    @ApiModelProperty(value = "险种责任限额对应json")
    private String riskDutyLimit;

    @ApiModelProperty(value = "保单导入的文件json")
    private String policyFile;

    @ApiModelProperty(value = "附件文件json")
    private String attachedFile;

    @ApiModelProperty(value = "计算佣金的营销人员usercode")
    private String marketerUserCode;

    @ApiModelProperty(value = "计算佣金的营销人员工号")
    private String marketerNo;

    @ApiModelProperty(value = "计算佣金的营销人员姓名")
    private String marketerName;

    @ApiModelProperty(value = "录入审核状态 1：待审核 2：审核退回  3：审核通过")
    private String auditStatus;

    @ApiModelProperty(value = "审核时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date auditTime;

    @ApiModelProperty(value = "审核说明")
    private String auditOpinion;

    @ApiModelProperty(value = "操作人编码")
    private String operatorNo;

    @ApiModelProperty(value = "操作人名称")
    private String operatorName;

    @ApiModelProperty(value = "录单时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date inputTime;

    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty(value = "是否倒签：1-是；0-否")
    private Byte backLog;

    @ApiModelProperty(value = "是否跨期：1-是；0-否")
    private Byte crossTerm;

    @ApiModelProperty(value = "认领状态 1-未认领，2-认领成功，3-认领失败 ")
    private String claimStatus;

    @ApiModelProperty(value = "认领原因")
    private String claimReason;


    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getOfflineType() {
        return offlineType;
    }

    public void setOfflineType(String offlineType) {
        this.offlineType = offlineType;
    }

    public String getBranchCode() {
        return branchCode;
    }

    public void setBranchCode(String branchCode) {
        this.branchCode = branchCode;
    }

    public String getBranchName() {
        return branchName;
    }

    public void setBranchName(String branchName) {
        this.branchName = branchName;
    }

    public String getInsCompanyName() {
        return insCompanyName;
    }

    public void setInsCompanyName(String insCompanyName) {
        this.insCompanyName = insCompanyName;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getPolicyNo() {
        return policyNo;
    }

    public void setPolicyNo(String policyNo) {
        this.policyNo = policyNo;
    }

    public String getAppCode() {
        return appCode;
    }

    public void setAppCode(String appCode) {
        this.appCode = appCode;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getHolderCode() {
        return holderCode;
    }

    public void setHolderCode(String holderCode) {
        this.holderCode = holderCode;
    }

    public String getHolderName() {
        return holderName;
    }

    public void setHolderName(String holderName) {
        this.holderName = holderName;
    }

    public String getInsuredName() {
        return insuredName;
    }

    public void setInsuredName(String insuredName) {
        this.insuredName = insuredName;
    }

    public String getDetailFileId() {
        return detailFileId;
    }

    public void setDetailFileId(String detailFileId) {
        this.detailFileId = detailFileId;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Date getInsureDate() {
        return insureDate;
    }

    public void setInsureDate(Date insureDate) {
        this.insureDate = insureDate;
    }

    public BigDecimal getPremium() {
        return premium;
    }

    public void setPremium(BigDecimal premium) {
        this.premium = premium;
    }

    public String getPushStatus() {
        return pushStatus;
    }

    public void setPushStatus(String pushStatus) {
        this.pushStatus = pushStatus;
    }

    public String getErrorMsg() {
        return errorMsg;
    }

    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }

    public String getRiskDutyLimit() {
        return riskDutyLimit;
    }

    public void setRiskDutyLimit(String riskDutyLimit) {
        this.riskDutyLimit = riskDutyLimit;
    }

    public String getPolicyFile() {
        return policyFile;
    }

    public void setPolicyFile(String policyFile) {
        this.policyFile = policyFile;
    }

    public String getAttachedFile() {
        return attachedFile;
    }

    public void setAttachedFile(String attachedFile) {
        this.attachedFile = attachedFile;
    }

    public String getMarketerUserCode() {
        return marketerUserCode;
    }

    public void setMarketerUserCode(String marketerUserCode) {
        this.marketerUserCode = marketerUserCode;
    }

    public String getMarketerNo() {
        return marketerNo;
    }

    public void setMarketerNo(String marketerNo) {
        this.marketerNo = marketerNo;
    }

    public String getMarketerName() {
        return marketerName;
    }

    public void setMarketerName(String marketerName) {
        this.marketerName = marketerName;
    }

    public String getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(String auditStatus) {
        this.auditStatus = auditStatus;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public String getAuditOpinion() {
        return auditOpinion;
    }

    public void setAuditOpinion(String auditOpinion) {
        this.auditOpinion = auditOpinion;
    }

    public String getOperatorNo() {
        return operatorNo;
    }

    public void setOperatorNo(String operatorNo) {
        this.operatorNo = operatorNo;
    }

    public String getOperatorName() {
        return operatorName;
    }

    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }

    public Date getInputTime() {
        return inputTime;
    }

    public void setInputTime(Date inputTime) {
        this.inputTime = inputTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Byte getBackLog() {
        return backLog;
    }

    public void setBackLog(Byte backLog) {
        this.backLog = backLog;
    }

    public Byte getCrossTerm() {
        return crossTerm;
    }

    public void setCrossTerm(Byte crossTerm) {
        this.crossTerm = crossTerm;
    }

    public String getClaimStatus() {
        return claimStatus;
    }

    public void setClaimStatus(String claimStatus) {
        this.claimStatus = claimStatus;
    }

    public String getClaimReason() {
        return claimReason;
    }

    public void setClaimReason(String claimReason) {
        this.claimReason = claimReason;
    }
}
